composition vs inheritance